package stu.aistar.day01;

public class User {

        //对象拥有什么 - 对象的特征

        //定义属性
        //修饰符 数据类型 属性名;
        //修饰符
        //访问修饰符 - public private protected []
        //其他修饰符 static abstract final
        //数据类型可以是八种基本数据类型或者是对象类型
        //属性名 - "小驼峰命名" - 首字母小写,以后每个单词大写,比如stuManager;

        //private - 私有的,只能在本类中进行访问.
        private int id;//id代表对象在内存中的唯一标识符,id属性值必须要保证唯一性.

        private String username;//用户名 - 赋值的时候 - 唯一性.

        //private String password;//密码

        //如果手动提供了一个其他构造,那么需要手动提供一个空参构造
    public User(){
            //System.out.println("空参构造...");
        }

        //一参
        //public User(int id){
        //    this.id = id;
        //}

        //如果某个类中已经提供了一个构造方法的时候,那么系统将不会再分配一个空参构造了.
        //全参构造
    public User(int id,String username){//1,admin
            //System.out.println("全参构造...");
            //this.id = id;
            //this.username = username;

            //通过this关键字来区分这个变量是属于方法的形参中的变量,还是属于当前对象的这个变量[属性]
            //this - 当前对象
            // System.out.println("this:"+this);

            this.id = id;
            this.username = username;
        }

        //getter//setter
        //命名规则 get+首字母变成大写
        //比如id  getId    username->getUsername
        //反射技术

        //public 公共的 - 公开的,允许在其他地方调用...
        //也是使用对象进行调用
        public int getId(){
            return id;
        }

        public String getUsername(){
            return username;
        }

        //设置属性值
        public void setId(int id){
            this.id = id;
        }

        public void setUsername(String username){
            this.username = username;
        }
    }

